Digital video streams typically represent video using a sequence of frames or still images. An increasing number of applications today make use of digital video stream encoding for purposes other than traditional moving pictures, movies, or video clips. As technology is evolving, users have higher expectations for video quality and expect high resolution video with smooth playback.
Applications can transmit encoded video streams using networks that can lose portions of the transmitted video stream due to transmission errors. “Noisy” or unreliable networks can lose or corrupt data included in the video stream and thereby cause errors that can affect the video quality of the displayed video stream. Various approaches have been proposed to protect video streams from data loss or corruption caused by unreliable networks. One approach, for example forward error correction (FEC), can protect video streams by adding additional data to the video stream to sometimes permit recovery of missing or corrupt data without requiring re-transmission.